'''
二、编程练习-购物车程序开发 根据以下数据结构：
goods = [ {"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
......
]
实现功能要求：
1.启动程序后，让用户输入工资，然后进入循环，打印商品列表和编号
2.允许用户根据商品编号选择商品
3.用户选择商品后，检测余额是否够，够就直接扣款，并加入购物车，不够就提醒余额不足
4.可随时退出，退出时，打印已购买商品和余额
'''
salary = int(input("请输入你的工资: "))
shoppingmart = []
money=0
items = (["华为手机",3800],
         ["苹果手机",6000],
         ["历史书 ",80])
msg_items = '''
----------商品价格表----------
1. 华为手机    ￥3800
2. 苹果手机    ￥6000
3. 历史书      ￥80
-------------------------------
'''
while True:
    print(msg_items)
    shopindex = int(input("请选择要购买的商品编号(1-3): "))
    if shopindex > 3:
        print("商品编号超出选择范围，请重新选择！")
        continue
    if salary > items[shopindex-1][1]:
     shoppingmart.append(items[shopindex-1])
     money+=int(items[shopindex-1][1])
     salary -= int(items[shopindex-1][1])
     print("您已购买商品是：{name} ".format(name = items[shopindex-1][0]))
     print("您的余额是: ￥", salary)
    else:
        print("对不起，您的余额不足！")
        recharge_ans = input("您想充值吗？(y/n)：")
        if recharge_ans == "y":
          recharge = int(input("请输入充值金额: "))
          salary += recharge
          print("你已经充值成功！\n您的余额是: ",salary)
        else:
            break
    decision = input("是否继续购买? (y/n)：")
    if decision == "y":
        continue
    else:
        break
print("------------------\n""您的消费明细：",shoppingmart)
print("您一共消费金额: %d元" %money)
print("您的余额是: %d元" %salary)
print("欢迎下次光临!")